Computers have traditionally been programmed to recognize a very limited set of input terminology, semantics and syntax. This limitation has required the user to learn the recognition rules before using the computer system. Many such systems recognize few if any terms that would be considered normal English language terms, requiring intensive training before operation. Even systems which do recognize terms or phrases found in the English language, such as the Basic programming language, require the input stream to be presented in exactly the recognizable form. Accordingly, even these systems require extensive user training.
To overcome such problems, natural language processing systems have been developed. Such systems are based on a context free grammar that describes the English language, or a subset of the English language that the system can understand. However, if the input stream is not in the language defined by this context free grammar, the system is not able to process the input. Accordingly, even these natural language processing systems impose restrictions on the user in relation to the input format. Accordingly, there is a need for a system that can process any sentence written in English.